Search Engine Query Customization and Search Site Rating System

ABSTRACT

A method and system are provided for web search customization and web site rating. The system receives user input web sites, stores the web sites in a database, and groups them into user-specified categories. The system further allows users to select one or more web sites for customizing web search and querying the preselected sites using user input keywords. The system further provides the users with options to query a plurality of search engines. All web sites stored within the system are rated in response to the user operations. Each web site has at least a global rating indicating the rating within the system, a category rating indicating the rating within a given category, and a keyword rating indicating the rating for a given keyword. The system provides the users with a list of recommended web sites based on the web sites&#39; ratings.

TECHNICAL FIELD

The present invention relates generally to the field of web search andspecifically to techniques for customizing internet search viauser-specified web sites and site rating.

BACKGROUND OF THE INVENTION

Web search engines, such as GOOGLE, MICROSOFT BING, YAHOO!, are designedto search for information on the World Wide Web. The search results areusually presented in a list and are commonly called hits. Theinformation may consist of web pages, images, documents and other typesof files. Some search engines also mine data available in databases oropen directories.

Web searches are primarily done via keyword queries that present userswith results (i.e., hits) linked to web sites containing the queriedkeywords. The results usually contain a mixture of sites the user may ormay not have seen before. While users are often searching for new sites,many users usually have a list of preferred sites on which they preferto conduct the search in different topics. Searching particular sites ispossible through writing complex custom query strings for various searchengines, which is very inconvenient to the users.

Currently, there are no existing systems for storing and automaticallychoosing custom user specified web sites for limiting the scope of a websearch. There is a need, therefore, for techniques that allow users tostore and conveniently apply custom user-specified preferences forquerying multiple search engines at the same time.

BRIEF SUMMARY OF THE INVENTION

Within the context of this invention, the terms “web site,” “web site'sURL,” and “web site's IP address” are considered interchangeable.

Described herein is a method, system and computer implementation forproviding a user with web search customization and web site rating.

Specifically, the user is allowed to submit a list of web sites that heor she wishes to search via a keyword search. A note can also beattached to or associated with each web site for the purpose of furtheridentification. The user can also create categories or groups to groupthese websites. Within the scope of this invention, the terms “category”and “group” are considered interchangeable.

With respect to search customization, the user can specify a keyword orkeywords to query or conduct a search on the Internet. The user isallowed to select one or more web sites for searching. When the websites are selected, they are combined with the user-input keyword forconducting the keyword search. Alternatively, the user can select acategory for conducting the keyword search. Accordingly, all the sitesunder that category are combined with the user-input keyword for the websearch. Furthermore, the users can select multiple sites and categoriesfor the keyword search.

After the user inputs the keyword and selects the web sites, querystrings are created for a plurality of search engines, such as GOOGLE,MICROSOFT BING, and YAHOO!. Additionally, the user can search fordocuments based on file extension and document type.

According to another embodiment, a method is provided for web siterating. The web sites input by the users are numerically rated based onuser operations and search activities. For example, every time a useradds a web site, the rating of the web site will increase. Every timethe user selects a web site for keyword search, the rating alsoincreases. When a site is removed from a category, the rating decreases.Commercial web sites can purchase points to increase the rating of theirsites.

On the search results page, the results from one search engine aredisplayed to the user, along with links to the results from other searchengines. In addition to these results, a set of suggested sites is alsodisplayed. These suggested sites are determined based on the ratings ofthe web sites for the same category and/or for similar keywords. On thesuggested sites list, the web sites are ordered based on their rating,from the highest to the lowest. Selecting a suggested site brings theuser to a page displaying the search results obtained from that web siteusing the user-specified keyword. Additionally, the user has the optionto add the selected site into his or her site list.

In keeping with various embodiments, a method is provided forcustomizing search engine queries. The method comprises receiving userinput comprising one or more web sites, grouping the one or more websites into one or more categories, receiving another user input forselecting at least one of the one or more web sites under at least oneof the one or more categories, and conducting a user-initiated keywordsearch on the at least one selected web site associated with the one ormore categories using at least one search engine.

In keeping with some alternative embodiments, a method is provided forrating web sites. The method includes receiving user input comprisingone or more web sites, grouping the one or more web sites into one ormore categories, and rating the one or more web sites in accordance withpredetermined criteria associated with the one or more categories.

In keeping with still some alternative embodiments, a user interface isprovided for the user to conduct web search customization. The userinterface includes a web site input field for receiving one or more websites from a user, a category field for grouping the one or more websites into one or more categories and for selecting at least one of theone or more web sites for conducting a keyword search, and a keywordfield for receiving a search keyword from the user for conducting thekeyword search on the selected at least one web site using one or moresearch engines.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

FIG. 1 depicts a system for providing web search customization andInternet site rating;

FIG. 2A depicts a method for storing, grouping, and rating web sites ina database;

FIG. 2B depicts a method for deleting a web site from a category;

FIG. 2C depicts a main sites table for storing all user-input web sitesand their global ratings;

FIG. 2D depicts a favorite sites table for user “Joe” and a favoritesites table for user “Mike;”

FIG. 2E depicts a table associated with the “Guitar” category;

FIG. 2F depicts a keyword table associated with KEYWORD1;

FIG. 2G depict another embodiment where a main sites table, a categorytable, and a keyword table are used to manage the user-input websitesand the web site ratings.

FIG. 3 depicts an exemplary user interface for inputting and groupingweb sites;

FIG. 4 depicts an exemplary user interface for managing groups specifiedby users;

FIG. 5 depicts a method for customizing a user-initiated web searchbased on user-input keywords and user-identified web sites and ratingthe web sites according to the user initiated web search;

FIG. 6 depicts an exemplary user interface for customizing auser-initiated web search based on user-input keywords anduser-identified web sites; and

FIG. 7 depicts an exemplary user interface for displaying and managingsearch results generated by the customized web search.

DETAILED DESCRIPTION OF THE INVENTION

Now turning to the drawings and referring to FIG. 1, a system 100 isdepicted therein according to one embodiment of the invention forcustomizing user-initiated web search and for rating web sites stored ina computer readable medium of a digital database.

System 100 includes an application server 114 for providing a web-basedapplication services that customize user-initiated web search on theInternet and conducting web site rating. Specifically, the applicationserver 114 includes one or more computer readable media 116 that storecomputer code for executing instructions comprising web-basedapplication services. The computer codes for implementing the web-basedapplication is executed by the application server 114 that is accessedby a user terminal 112 via a web browser over a network 108, such as theInternet or an intranet. As further shown in FIG. 1, a user terminal canalso take form of a cell phone or smart phone 118 connected to theInternet 108 through a wireless connection 120. Similarly, the smartphone 118 can access the application 114 through the Internet 108 andrender a mobile web browser for providing the web search customizationfunctionalities described herein.

The web-based application is coded in a browser-supported language (suchas HTML, JavaScript, Java, etc.) and relies on a common web browser(such as Internet Explorer, Firefox, Chrome, etc.) to render theapplication on the user terminal 112. In particular, when accessing theweb-based application services provided by the application server 114,the user 110 starts a web browser on the user terminal 112 and inputs aURL or an IP address associated with the web-based application. Inresponse to the connection request, the application server 114 transmitsprogram codes in the form of the browser-supported language to the userterminal 112. Upon being executed by the web browser running on the userterminal 112, the program codes instruct the web browser to render userinterfaces to interact with the user 110. According to the variousembodiments, the user interfaces are designed to allow users to inputsearch keywords, to input and identify web sites to customize websearch, and to manage and group the web sites, and provide the userswith search results and suggested web sites based on the web siteratings. The web search customization and web site rating are furtherdiscussed below.

The application server 114 further includes a database 116 for storinguser-input web sites. The database 116 includes a plurality of tablesfor storing the web sites. Specifically, as shown in FIG. 2C, one ofthese tables is a main sites table 250 for storing the web sites inputby all of the users of the system 100. For each user, the database alsoincludes a favorite sites table for storing the sites that are indicatedby the user or identified by the system as his/her favorite sites forpurposes of conducting various searches thereon. For example, as shownin FIG. 2D, the database 116 includes a favorite site table 260 for user“Joe” and a favorite site table 265 for another user “Mike.” Accordingto an alternative embodiment, a plurality of users may share onefavorite site table. For example, the favorite sites of users “Joe” and“Mike” are combined into a single favorite site table.

As shown in FIG. 2E, the database 116 also includes other tables, eachassociated with a group or category. According to one embodiment, thesegroups or categories are specified and input by users. For example, whena user creates a category or a group called “Guitar” and saves all theuser's favorite guitar sites under that category, the server 114 thenstores the user's guitar sites into a table 270 associated with the“Guitar” category and updates the ratings of the web sites that areinput by the user. In one embodiment, these categories and sites areonly associated with that particular user and are not available to otherusers of the system. Alternatively, when a user creates a category or agroup (e.g., “Guitar” group) and saves all the user's favorite guitarsites under that category, the server 114 then stores the user's guitarsites into a table containing categories and sites for an entire userpopulation along with a field tying each category and site to thespecific user responsible for supplying that input. Alternatively, thesecategories are generated by the application server 114 automaticallywhen receiving the user input web sites. For example, when theapplication server 114 receives a user input including a web site“www.fenderforum.com,” it automatically generates a “Guitar” categoryfor storing the web site.

As shown in FIGS. 2C and 2E, the main sites table 250 and the tablesassociated with the categories 270 include information, such as numeralsunder the “Rating”column indicating the rating of each web site savedtherein. In particular, the “Rating” column in the main sites table 250stores a global rating of each web site in the system, indicating thesystem-wide popularity of each web site. The “Rating” column in thetable for each category, such as table 270 for the “Guitar” category,stores a category rating of each web site under that category,indicating the category-wide popularity of the web site.

The database 116 can take forms of SQL databases, OQL databases,proprietary databases, or other commercially available databases wellknown to one skilled in the art.

The application server 114 is designed to communicate with the searchengines 102, 104, and 106, such as GOOGLE, MICROSOFT BING, YAHOO!, etc.As further described below, the web application running on theapplication server 114 allows the user 110 to select one or more websites for customizing the keyword search on the search engines 102, 104,and 106.

FIG. 2 depicts a process 200, when executed by the web application,instructs the server 114 to receive, group and manage user-input websites. The process 200 also instructs the server 114 to perform web siterating based on the user operations on the web sites. In keeping withthe embodiment depicted in FIG. 2, the process 200 first instructs theserver 114 to receive a user input web site (step 202) and determine ifthat web site is already in a main sites table in the database 116 (step204). If the newly entered web site does not exist in the main sitestable, the web site is added to the main sites table as a new entry(step 206) and an initial global rating is set for the web site. If, onthe other hand, the web site has been previously entered and currentlyexists in the main sites table, a point or points are added to theglobal rating of the web site (step 208).

In step 210, the process 200 further instructs the server 114 todetermine if a user has selected a category for the web site. If theuser does not identify a category for the web site, the web site isentered into the favorite sites table associated with the user, such astable 260 or 265 (step 212). If, on the other hand, the user specifies acategory for the newly entered web site, the web site is inserted intothe table associated with the user-specified category (step 214). Thecategory rating of the web site is increased for the selected category(216). For example, a point or points are added to the numerical ratingof the web site stored in the table associated with the selectedcategory.

Alternatively, a user input web site is assigned to a category accordingto the knowledge of the web sites available to the public or theapplication server 114. In another example, when the user inputs a website “www.foodnetwork.com,” an analysis is conducted on the web site bysearching its introduction page and automatically assigning the web siteto the “Cooking” category based on the search result. In an alternativeexample, when the user inputs the web site “www.foodnetwork.com,” thefavorite site table is searched to check whether this web site hasalready been input by other users, and the website is assigned to thecategory that the majority of users have assigned to the website.

FIG. 2B illustrates another process 230, when executed by the webapplication, instructs the server 114 to remove a web site from acategory. According to FIG. 2B, a user input is received for deleting aweb site from a user-selected category (step 232). The web site isremoved from that category for that user (step 234). Accordingly, theglobal rating and the category rating of the web site is decreased forthat selected category (step 236).

FIGS. 2C-2E illustrate exemplary embodiments for each of the main sitetable (250), the favorite site table for user “Joe”(260), the favoritesite table for user “Mike” (265), and a table for the category “Guitar”(270). Each table has a “web site” column for storing the web sites thatthe user inputs. As discussed above, the main sites table 250 shown inFIG. 2C is a global table for storing all of the web sites input intothe system 100. The favorite site table for each user (260 or 265), asshown in FIG. 2D, stores the web site identified by the user as his/herfavorite sites or by the system when the user does not specify acategory for the web site. The table 270 for category “Guitar” shown inFIG. 2E is used to store the web sites that are assigned to the “Guitar”category by all the users or the system. In addition, the main sitestable 250 further includes a rating column for storing the global ratingof each web site stored therein. Similarly, the “Guitar” table 270 alsoincludes a rating column for storing the category rating of each website under the “Guitar” category. One skilled in the art wouldunderstand that the system 100 has a plurality of users and a pluralityof tables, each associated with different categories, such as a “Home”category table, a “Travel” category table, a “Music” category table, andthe like.

As depicted in FIG. 2G, an alternative embodiment comprises one mainsite table 282 for storing the favorite sites of all users using thesystem 100. This table 282 contains all of the users, the web sites thatthey have inputted and the web site's assigned categories indicated by acategory field. If a web site does not have an assigned category, thecategory field is left blank. Each site and its category are then tiedto a user field for the purposes of limiting the ability to view andedit these sites and categories to individual users who input the siteand category, if desired.

This embodiment further includes a category table 284 and a keywordtable 286, which store the web sites, their ratings, their categories,and their ratings, respectively. Specifically, the category table 284stores all of the categories inputted by the users and those sites thathave been assigned to each of those categories. The rating field oftable 284 stores the rating of each web site within its category.Similarly, the keyword table 286 stores all of the keywords that havebeen searched for by all the users and those web sites that have beenselected by users for those keyword searches. The rating field of table286 stores the rating of each web site for individual keywords.

In keeping with this embodiment, when a user first registers for thesystem 100, the system selects a number of default sites and defaultcategories for the user. These sites and categories are selected by thesystem according to certain criteria. For example, when a person (e.g.,a web site's owner) has an interest in a web site, this person canpurchase the “spot” in the default sites and categories for the website. For example, the default categories for a user include “SHOPPING,”“SPORTS,” and “HEALTH” categories. The “SHOPPING” category includes bydefault “ebay.com” and “amazon.com,” the “SPORTS” category includes bydefault “ESPN.com,” the “HEALTH” category include by default“webMD.com,” etc. The user can then build upon this list or delete itcompletely if he wants.

FIG. 3 shows one embodiment of the interface. As shown in FIG. 3, theinterface 300 includes a number of fields, such as text boxes, menus,and buttons, for the user to interact with the process 200. Inparticular, the interface 300 includes a group field 302 for a user toselect a group or category to which the web sites are added. Theinterface 300 also includes a plurality of site fields 304 and notefields 306 for the user to inputting the web sites to be added to thedatabase 116 and putting notes that help the user to identify the websites in a later time. When the user clicks the add sites button 308,the web sites and their associated notes entered into the site fields304 and note fields 306 will be transmitted to the database 116 andadded into the group (e.g., “Guitar” group) identified in the groupfield 302. The web application on the application server 114 processeseach of the web sites according to the process 200 depicted in FIG. 2A.

The interface 300 further includes a field 309 for displaying all of theweb sites that are currently included in the group identified in groupfield 302. The user can further select individual web sites listed infield 309 and delete or regroup them. For example, the user can selectand highlight the site “thegearpage.net” in field 309 using a mouse andclick the delete sites button 310 to delete the “thegearpage.net” sitefrom the “Guitar” group. Alternatively, the user can click the “Groupthem!” button 314 to regroup the “thegearpage.net” site into anothergroup identified in the draw-down menu 312.

As discussed above, each time the user operates on the web sites throughthe interface 300, the processes 200 or 230 will be triggered to add ordelete a web site and to adjust the rating of the web site according tothe user operations.

The interface 300 further includes an “Add/Update group” link 303. Whenthe user clicks the “Add/Update group” link 303, another interface 400shown in FIG. 4 is rendered for the user to manage the groups underhis/her account. As shown in FIG. 4, the interface 400 includes an addgroup field 402 for the user to input names of the groups to be added tohis/her account. Once the user clicks the “Add new group” button 404,those groups listed in the add group field 402 are added into the grouplist 406. The user can also delete a group from the group list 406 byhighlighting a group in the list 406 and clicking the “Delete group”button 408. Furthermore, the user can also rename a group byhighlighting a group in the list 406 and clicking the “Rename Group”button 410. The interface 400 also includes a “Return to site selection”link 412 for returning to the interface 300 shown in FIG. 3.

Now turning to FIG. 5, a process 500 is provided, which allows a user tocustomize the keyword search on various search engines and for ratingthe web sites stored in the database 116 based on the user-initiatedsearch.

In particular, the process 500, when executed by the web application,instructs the server 114 to receive a keyword(s) input by the user (step502). The user input also includes one or more web sites or categoriesselected by a user through the user interface provided by the webapplication (step 502). In step 504, the process 500 instructs theserver 114 to determine if a user selects a category for conducting thekeyword search (504). If a category is selected, all the web sites underthe category are selected (step 506). In step 508, the global rating andthe category ratings of these selected web sites are increased. As shownin FIG. 6, when the “Guitar” category is selected, the ratings of all ofthe web sites under user's “Guitar” category are increased.Alternatively, if only one web site, such as “thegearpage.net,” isselected by the user, then only the ratings of the “thegearpage.net”site are increased. As described above, the change in the rating of aweb site for a particular category is reflected in the table associatedwith the category. For example, when the rating of the “thegearpage.net”is increased, the corresponding rating field in table 270 is modified toreflect the change.

In step 510, a search string is generated based on the user inputinformation for each of the search engines 102, 104, and 106. Inparticular, the search string includes a logical combination of the userinput keywords and user-specified web sites. In addition, the searchstring is generated in a syntax provided by the specifications of thecorresponding search engine. For example, assuming the user inputkeywords include “KEYWORD1 AND KEYWORD2” and the user-specified websites include WEBSITE1 and WEBSITE 2, the search string may take theform of “KEYWORD1 AND KEYWORD1 SITE:WEBSITE1 SITE:WEBSITE2.”Alternatively, the search string may be in the form of KEYWORD1 ANDKEYWORD1 (SITE:WEBSITE1 OR SITE:WEBSITE2). After reading thisspecification, one skilled in the art will understand that the searchstring may take other forms that comply with the syntax of a particularsearch engine.

In step 512, a keyword rating of each web site selected by the user isincreased. The keyword rating of a web site for a particular keywordindicates how many times the web site has been selected for searchingthat keyword. Referring to the above example, each of the WEBSITE1 andWEBSITE2 has a keyword rating for KEYWORD1 and a keyword rating forKEYWORD2. When the user selects WEBSITE1 and WEBSITE2 for conducting thekeyword search, the keyword ratings of both web sites for the KEYWORD1and KEYWORD2 are increased. In keeping with this keyword rating, thedatabase 116 further includes a keyword table for each keyword forstoring the web sites the users searched for the keyword and theirkeyword ratings. FIG. 2F illustrates an exemplary keyword table 280 forKEYWORD1. The table 280 includes a web site column for storing all ofthe web sites that the users have searched for KEYWORD1 and a ratingcolumn for storing the keyword ratings of the web sites.

In step 514, the process 500 instructs the server 114 to determine if asearch engine is specified by a user for conducting the keyword search.If the user specifies a search engine, such as search engine 102, theproper query string is submitted to the search engine and obtains anddisplays the search results returned from the search engine (step 518).If, on the other hand, the user does not specify a particular searchengine, a default search engine or all of the available search enginesare selected for conducting the keyword search (step 516).

According to an alternative embodiment, a user is allowed to select morethan one category or web site and use different search engines fordifferent categories or web sites when conducting the keyword search.For example, the user can select a “Music” category and a “Guitar”category for the keyword search. The user is allowed to conduct thesearch on the all “Music” web sites using GOOGLE and on all “Guitar” websites using MICROSOFT BING.

In keeping with this embodiment, if a user conducts a keyword searchwithout specifying a site or category, the entire Internet is searchedusing the search engine(s). Those search results as described above arepresented to the user.

According to an alternative embodiment, the keyword search involving aweb site also increases the keyword ratings of that web site for otherkeywords similar to the one specified by the user. For example, if auser conducts a keyword search using keyword “1969 Mustang” and the website “www.classicmusclecars.com,” in addition to increasing the keywordrating of the web site for keyword “1969 Mustang,” the system alsoincreases the keyword ratings of the web site for keywords that aresimilar to “1969 Mustang,” such as “1970 Mustang,” “1969 Charger,” “1969Corvette,” etc.

FIGS. 6 and 7 depict one embodiment of a user interface for the user tocustomize keyword search according to the process 500. Similarly tointerfaces 300 and 400, the interface 600 also includes a number offields for the user to interact with the process 500. In particular,interface 600 includes a search keyword field 602 for the user to inputsearch keywords. Web site selection field 604 allows a user to selectthrough a mouse or keyword one or more web sites listed in the field604. As shown in FIG. 6, the user can select the web sites byhighlighting them individually. Alternatively, if the user selects acategory, such as “Guitar,” all of the web sites under the user's“Guitar” category are automatically selected and highlighted. Theinterface 600 further includes a time frame field 606 and a file typefield 608 that allow the user to limit the search results to certaintime period and file type. For example, if the option “Past 24 hours” isselected, the interface 600 only displays search results posted withinthe past 24 hours. Alternatively, if the “mp3” file type is selected,the interface 600 only displays search results containing mp3 files.Multiple file types may be selected at the same time. For example, auser can select both “mp3” and “wma” formats for a music search.

The interface 600 further includes a reset button 612 for the user toclear the inputs and selections in fields 602, 604, 606, and 608.

After inputting the keywords and making necessary selections in field602, 604, 606, and 608, the user can click the search button 610 tostart the process 500 for keyword search and web site rating. As shownin FIG. 7, in response to the user-initiated web search, the interface600 displays the search results obtained according to the process 500 inresult field 718.

According to the embodiment depicted in FIG. 7, the interface 600provides a number of fields for the user to further customize the searchresults. For example, the interface 600 includes a field 704 for theuser to select a particular search engine for conducting the keywordsearch. As shown in FIG. 7, when the “Results from Google” option isselected, the result field 718 only displays the search results obtainedfrom the GOOGLE search engine. Alternatively, if the “Results from Bing”option is selected, the result field 718 will display the resultsobtained from the BING search engine. Although not shown, options fordisplaying results from other search engines can also be included in thefield 704 of the interface 600.

Alternatively, the interface 600 includes a group of radio buttons (notshown) for selecting which search engine(s) to perform the web search.For example, each of the radio buttons is used to indicate a searchengine such as GOOGLE, BING, YAHOO!, etc. The user can choose one ormore of these search engines for the web search by choosing the radiobuttons representing them. The result page 718 then shows the searchresults obtained from the search engine(s) selected by the user.

The interface 600 further includes a field 716 for displaying searchresults of a particular type. As shown in FIG. 7, the field 716 includesan “Images” and a “Video” links. When the user clicks one of theselinks, the research results of the image type or video type aredisplayed to the user.

The interface 600 further includes a recommended site field 712 fordisplaying to the user a number of web sites recommended by the systembased on web site rating. As shown in FIG. 7, the recommended site field712 includes a list of recommended sites (list 713) for the categorythat the user has selected in process 500 and a list of recommend sites(list 714) for the keywords that the user has searched for. For example,in FIG. 7, the user selects the “Guitar” category for conducting thekeyword search. Accordingly, the list 713 shows a number of web sitesfrom the table 270 associated with the “Guitar” category. The web sitesare listed in their category ratings' descending order for the “Guitar”category. The list 714 shows a number of web sites from the table 280associated with the keyword that the user has searched for. Similarly,the web sites are listed in their keyword ratings' descending order forthat keyword. The web sites' ratings are updated as described above withrespect to processes 200, 230, and 500.

In an alternative embodiment, the interface 600 also includes a list ofrecommended web sites in accordance with the global rating. For example,after the user conducts a web search, all of the web sites within thedatabase 116 are ranked according to their global ratings. The interface600 then displays a ranked list of the web sites in the global rating'sdescending order, showing the most popular web sites on the top of thelist followed by the next most popular web site.

With respect to the web site rating, the number of points added to ortaken from each web site's rating is determined by the design of thesystem. For example, when a web site is added into the system, theglobal rating of the web site is increased by one (1) point. When theuser adds the web site to a certain category, the web site's rating forthat category is increased by one (1) point. When the user removes a website from a category, the web site's rating for that category isdecreased by one (1) point. When the user conducts a keyword search byselecting a web site from a category, the web site's rating for thecategory and the rating for the keyword are each increased by one (1)point. One skilled in the art will recognize that the users' operationscan also increase or decrease a web site's rating by more than one (1)point.

As discussed above, the rating of each web site stored in the database116 is a measure of the popularity of the web site. For example, theglobal rating of the web site reflects a system-wide popularity of theweb site among the user population including all the users of the system100. The category rating of the web site reflects the popularity of theweb site for the given category. The more users add the web site to thesame category or the more users conduct keyword search on the web sitefor the category, the higher the rating of the web site for thecategory. Similarly, the keyword rating reflects the popularity of theweb site for the given keyword. The more users search the keyword on theweb site, the higher the keyword rating of the web site for thatkeyword.

According to another embodiment, the web site rating system describedherein can be used to promote commercial web sites and to generaterevenues for the operator of the system 100. In particular, a customercan purchase from the system operator a number of points to be added tothe rating of a particular web site, so that the web site will appeartoward the top in lists 713 and 714 in the interface 600. For example,in FIG. 7, the customer who owns the “thegearpage.net” web site canpurchase a number of points from the system operator and add thosepoints to the rating of the “thegearpage.net” web site for the “Guitar”category. The points added to the rating of the web site will move the“thegearpage.net” web site to or close to the top of list 713 for the“Guitar” category. As a result, other users searching within the“Guitar” category will more readily notice the web site and will be moreinclined to select the “thegearpage.net” web site to customize theirkeyword search. Alternatively, a person who has an interest in the website can also purchase points for the web site to be added to itsrating.

Similarly, a web site's owner can also purchase points from the systemoperator to be added to the web site's rating for certain keywords. Theweb site's owner can use the keyword rating to promote the services andproducts provided by the web site. For example, in FIG. 7, the owner ofthe “thegearpage.net” web site can purchase points and add the points tothe web site's rating for the keyword “Gibson Les Paul Deluxe,” so thatthe web site will appear toward the top of list 714 every time a usersearches for the guitar product named “Gibson Les Paul Deluxe.” As aresult, the web site will be more noticeable to the user who will bemore inclined to search for and purchase the product from the“thegearpage.net” web site.

According to a further embodiment as shown in FIG. 7, when the userclicks the “+” sign arranged after each web site in the list 713 or 714,the selected web site is automatically added to the current category(i.e., the “Guitar” category) or any category selected by the user. Whenthe user clicks the “search” sign after each web site in the list 713 or714, a keyword search is performed on that selected web site.

As discussed above, the processes 200, 230, and 300 may be implementedin the form of web applications running on the application server 114.When a user connects to the application server 114 through the userterminal 112, user interfaces 300, 400, and 600 are rendered on the userterminal 112 for the user to interact with the processes 200, 230, and300.

According to some other embodiment, a user of the system 100 can createa list of his favorite web sites and group them under various categoriesas needed. The user can then search any of those web sites directly fromthe search interface such as interface 600. Other users of the systemcannot see or manipulate his site lists or his categories, nor can hesee sites others users' site lists or categories.

The system 100 can also rate these web sites based on how many times theglobal user population searches them for specific keywords and/or howmany times they are added by the user population to their own lists andcategories.

Based on these ratings, the system 100 presents a list of sites (e.g.,top 5 or 10 sites) to any user who searches for the same or similarkeywords or categories. In addition, advertisers can buy rating pointsto push their sites up closer to the top for specific keywords andcategories.

In an exemplary embodiment, 1000 different users created a categorycalled “Guitar” and all added the web site “www.guitar.com” to thecategory. If a user “Joe” conducts a web search in his own “Guitar”category for keyword “les paul,” the system 100 can determine that user“Joe” searches his “Guitar” category and then presents the web site“www.guitar.com” as a recommended site, if the web site “www.guitar.com”has a category rating for the “Guitar” category that is within the top 5or 10 sites within the “Guitar” category.

Additionally, the system 100 can also determine that user “Joe” searchesfor the keyword “les paul” and determine what web sites other users haveincluded in their web searches for the same keyword “les paul.” If a lotof other users have searched “www.guitar.com” so that its keyword ratingfor keyword “les paul” is within the top 5 or 10 sites for the keyword,then the site would be listed as a recommended site.

Furthermore, if “www.guitar.com” web site's owners purchase points forthe “les paul” keyword or the “Guitar” category, the system 100 thenadds those points to the corresponding rating so that it will be shownto a user searching for the “les paul” keyword or the “Guitar” category.

In keeping with another embodiment, the Interfaces 300, 400, and 600 areimplemented as a browser plug-in rendered as a toolbar on a web browsersuch as MICROSOFT INTERNET EXPLORER, FIREFOX, etc. One skilled in theart will readily understand how to implement this interface afterreading the description.

According to another embodiment, a user of the system 100 can send ortransfer his/her categories and/or web sites to another person who mayor may not be a user of the system 100. For example, the user “Joe” mayselect the “Guitar” category including all of the web sites therein. Theinterface 600 then provides the user “Joe” with a list of the users ofthe system so that “Joe” can select another user, such as “Mike,” fromthe list to send the “Guitar” category. The system then generates amessage and presents the message to the user “Mike” as soon as “Mike”logs onto the system, indicating that he has received a category sent by“Joe.” The user “Mike” can choose to accept the category or reject it.If the user “Mike” chooses to accept the category, the system 100 thenmakes a copy of the “Guitar” category from “Joe's” account and all ofthe web site therein and transfers the copy to “Mike's” account.Specifically, the system 100 generates more entries in the main sitestable 282 for storing the “Guitar” category including the web sites thatare newly added. At the same time, the system 100 also updates thecategory table 284 and keyword table 286 accordingly to reflect thenewly added “Guitar” category.

Alternatively, the system may allow a user to send the selected categoryto a person via email. For example, after selecting the “Guitar”category, the user “Joe” can input an email address in an email fieldprovided on interface 600 and click a “send” button to instruct thesystem 100 to generate and send an email message including the selected“Guitar” category. Still alternatively, the selected category may alsobe sent via a text message to a cell phone or smart phone device. Theinterface 600 may provide the user with a phone number field forspecifying the phone device to send the selected category.

In an alternative embodiment, the system 100 also allows a user toselect and transfer one or more categories and web sites to anotherperson, who may or may not be a user of the system.

In still an alternative embodiment, the system 100 allows a user to makesome or all of their sites and categories public, that is, viewable byother users.

Specifically, the system 100 provides a user with an interface, whichallows the user to add another user's profile into a “Favorite UserList.” For example, if User 1 adds User 2 to his/her “Favorite UserList,” the interface provided by the system 100 allows User 1 to clickon User 2's profile to view User 2's public sites and categories listand to search them in the same manner he/she searches on User 1's ownsites and categories. Alternatively, the interface provided by thesystem 100 allows User 1 to import User 2's public sites and categoriesinto his own sites and categories list, thereby including these importedsites and categories into User 1's account.

All references, including publications, patent applications, andpatents, cited herein are hereby incorporated by reference to the sameextent as if each reference were individually and specifically indicatedto be incorporated by reference and were set forth in its entiretyherein.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the invention (especially in the context of thefollowing claims) are to be construed to cover both the singular and theplural, unless otherwise indicated herein or clearly contradicted bycontext. The terms “comprising,” “having,” “including,” and “containing”are to be construed as open-ended terms (i.e., meaning “including, butnot limited to,”) unless otherwise noted. Recitation of ranges of valuesherein are merely intended to serve as a shorthand method of referringindividually to each separate value falling within the range, unlessotherwise indicated herein, and each separate value is incorporated intothe specification as if it were individually recited herein. All methodsdescribed herein can be performed in any suitable order unless otherwiseindicated herein or otherwise clearly contradicted by context. The useof any and all examples, or exemplary language (e.g., “such as”)provided herein, is intended merely to better illuminate the inventionand does not pose a limitation on the scope of the invention unlessotherwise claimed. No language in the specification should be construedas indicating any non-claimed element as essential to the practice ofthe invention.

Preferred embodiments of this invention are described herein, includingthe best mode known to the inventors for carrying out the invention.Variations of those preferred embodiments may become apparent to thoseof ordinary skill in the art upon reading the foregoing description. Theinventors expect skilled artisans to employ such variations asappropriate, and the inventors intend for the invention to be practicedotherwise than as specifically described herein. Accordingly, thisinvention includes all modifications and equivalents of the subjectmatter recited in the claims appended hereto as permitted by applicablelaw. Moreover, any combination of the above-described elements in allpossible variations thereof is encompassed by the invention unlessotherwise indicated herein or otherwise clearly contradicted by context.

1-25. (canceled)
 26. A method for communications over a networkcomprising the steps of: receiving a search query from a first locationon a network; determining, by querying a database over said network,results of said search query and ranking said results based onpredetermined criteria; identifying at least one pre-defined group,defined by a person associated with said first location on said network,to which at least one said result of said search query belongs;modifying said ranking by raising in an ordered list of said searchresults said at least one said result which belongs to said group;sending data via said network to said first location comprising saidresults of said search query as modified by said raising said at leastone said result which exists in said group. 27-29. (canceled)
 30. Amethod for communications over a network comprising the steps of:receiving data representative of a search query, wherein output of saidsearch query comprises a list of websites; determining that said searchquery is within a favorite category associated with a first user;changing an order in which said websites are listed in results sent viasaid network to be exhibited at said location where said search querywas sent, based on said search query returning a website within saidfavorite category associated with a first user.
 31. The method of claim30, wherein said first user is additionally a user sending said searchquery.
 32. The method of claim 30, wherein said receiving data comprisesreceiving said search query from a second user, said determiningcomprises determining that said search query comprises a term associatedwith said favorite category of said first user, and said determining iscarried out prior to said changing.
 33. The method of claim 32, furthercomprising counting a number of times a particular website appears inrelated categories to said search term of a plurality of said firstusers and wherein, during said changing of said order, the greater saidnumber of times, the higher said website is listed.
 34. The method ofclaim 30, further comprising a step of receiving data from said firstuser indicating that a website in said results should be added to saidfavorite category, and adding said website in said results to saidfavorite category.